Digital images have become more popular in the field of image display because they offer clarity and less distortion during processing. Furthermore, a wider range of image processing algorithms can be applied to digital images. Interpolation is a common stage in image processing to improve the appearance of the processed image on the output imaging medium. Interpolation is often performed during rescaling or resizing of digital images.
Rescaling or resizing of digital images includes magnification or reduction of image. For example, large screen displays have a native resolution that reaches or exceeds the well-known high-definition TV (HDTV) standard. In order to display a low-resolution digital image on a large screen display, it is desirable to rescale the image to a full screen resolution.
Traditionally, linear interpolation techniques such as bilinear or bicubic interpolation are used to rescale digital images. However, these linear interpolation techniques have certain drawbacks. For example, the interpolated image may suffer from blurred edges, resulting in a loss in image quality. Furthermore, artifacts such as overshoot and undershoot may be introduced around the edge areas. Therefore, many techniques have been proposed to improve the subjective quality of the interpolated images by using adaptive (interpolation) algorithms. These adaptive algorithms minimize loss in image quality by adapting the interpolation coefficients in the algorithms to better match the local structures around the edges of the image.
One approach/method for adaptive interpolation of image data is by selecting an appropriate interpolation kernel function from a plurality of different interpolation kernel functions based on one or more factors. The factors can be the input image format, the output imaging media, or the appearance characteristic of the interpolated image data.
Another approach/method (to provide a representation of image data) is by using a scaled kernel. The scaled kernel is constructed by transforming a kernel from a first range to a second range, where the second range is smaller than the first range. This method can improve the sharpness of the image data without any overshoot problem. However, transforming a kernel from one range to another range creates a dead-zone in the transformed range, which may result in an un-natural edge effect in the interpolated image.
Yet another approach/method (for digital image interpolation and sharpness enhancement) is by combining two interpolated images with sharpness level control. The two interpolated images are generated by two interpolation filters with different cut-off frequencies. This method will lead to overshoot and undershoot artifacts near the edge areas when using large sharpness control parameters.
Generally, the three methods as discussed above address the issues of loss in image quality by applying effective global sharpness control. In global sharpness control, the control parameter is fixed for all the pixels. However, the effect of local sharpness control for different characteristics of the image content has not been adequately addressed. For example, while the three methods enhance the sharpness of the edge components, they also tend to amplify the noise in the signal. Furthermore, the three methods are unable to control the sharpness level locally through local sharpness control, thereby causing the weak edges to be enhanced without over-enhancing the strong edges. In local sharpness control, the control parameter is different for each individual pixel. As a result, the methods produce artificial-looking images.
One approach for local sharpness control is to apply an adaptive enhancement process on different edge magnitudes to achieve good edge enhancement. However, the soft edges can add depth perceptibility to the digital image, and therefore this approach is not suitable for steepening. Furthermore, the hard edges are already steep enough to demand further enhancement.
As described above, conventional linear interpolation techniques and the existing adaptive techniques suffer from blurred edges or artifacts introduced around edge areas, such as overshoot and undershoot. The conventional techniques generally address the effectiveness of global sharpness control which is based only on different formats of input image data or different types of the output display media. They are not concerned about the local image content. Hence, they are noise sensitive.
In the case of downscaling, a number of input pixels in the original image are transformed to a single output pixel in the down-sampled image. The frequency sampling interval must be chosen very short based on Nyquist sampling theory in order to transform the entire data from input to output image, which is not feasible in most cases, and aliasing artifacts can be introduced.
As shown in FIG. 11, a conventional image size changing apparatus 1 includes a combination of the horizontal interpolator 2 and the vertical interpolator 5 for interpolating an input image signal SI in both the horizontal and vertical directions using the horizontal and vertical interpolation factors received from the horizontal interpolator factor generator 3 and the vertical interpolator factor generator 6, respectively. Using the horizontal size change rate received from the horizontal magnification storage 4 and the sync signal timed with the input image signal SI, the horizontal interpolator factor generator 3 produces three horizontal interpolation factors hw1, hw2, and hw3, each having a ratio between a horizontal component of the visual area determined by image data of an original image and a horizontal component of the visual area determined by image data of its size-changed image. The horizontal interpolation factors hw1, hw2, and hw3 are timed with a clock signal of which the frequency is two times greater than the pixel clock signal of the input image signal SI. Also produced by the horizontal interpolator factor generator 3 is a horizontal pixel enable signal indicative of effective ones of the pixel data from the horizontal interpolator 2 to be received by the vertical interpolator 5 and a read/write controller 9. Using the vertical size change rate received from the vertical magnification storage 7 and the syn signal timed with the input image signal SI, the vertical interpolator factor generator 6 produces three vertical interpolation factors vw1, vw2, and vw3, each having a ratio between a vertical component of the visual area determined by image data of an original image and a vertical component of the visual area determined by image data of its size-changed image. The vertical interpolation factors vw1, vw2, and vw3 are timed with the horizontal sync signal of the input image signal SI. Also produced by the vertical interpolator factor generator 6 is a vertical pixel enable signal indicative of effective ones of the pixel data from the vertical interpolator 5 to be received by the read/write controller 9. The read/write controller 9 is responsive to the horizontal pixel enable signal from the horizontal interpolator factor generator 3, the vertical pixel enable signal from the vertical interpolator factor generator 6, and the sync signal of the input image SI for controlling the writing of the pixel data received from the vertical interpolator 5 into the field memory 8. Each interpolator may comprise a group of latch circuits for delaying the input image signal by one pixel period or line memories for delaying the input image signal by one horizontal period, multipliers, and an adder.